This application relates to waking a computer system from a sleeping state.
Many IBM-compatible personal computer (PC) systems incorporate some form of power management scheme that allows the computer to xe2x80x9cshut downxe2x80x9d without losing system context. One such scheme is defined in the xe2x80x9cAdvanced Power Management Specificationxe2x80x9d (xe2x80x9cAPM Specificationxe2x80x9d), version 1.2, published by Intel Corporation and Microsoft Corporation in February 1996. The APM Specification allows three basic power management states: (1) an xe2x80x9cONxe2x80x9d state in which the computer operates at full power with full system context; (2) a xe2x80x9cSUSPENDxe2x80x9d state in which the computer shuts down but preserves system context and continues to consume power in reduced amounts; and (3) an xe2x80x9cOFFxe2x80x9d state in which the computer shuts down completely, erasing system context and consuming very little, if any, power. Power management under the APM Specification is human-directed power management, meaning that a human user usually decides which of the states the computer will enter at any given moment by activating one or more buttons or switches on the computer.
A later power management specification, the xe2x80x9cAdvanced Configuration and Power Interface Specificationxe2x80x9d (xe2x80x9cACPI Specificationxe2x80x9d), version 1.0b, published by Intel Corporation, Microsoft Corporation, and Toshiba K.K. in February 1999, vests primary control of power management in the computer""s operating system (OS). The ACPI Specification defines several sleeping states that involve varying levels of power consumption and system context preservation. Two of these states, known as the xe2x80x9cS4xe2x80x9d or xe2x80x9cSuspend-to-Diskxe2x80x9d state and the xe2x80x9cS5xe2x80x9d or xe2x80x9cSoft-Offxe2x80x9d state, cause the computer to undergo a full shut-down sequence and reduce power consumption to very small, stand-by levels. The xe2x80x9cS4xe2x80x9d state preserves only the OS configuration when shutting down the computer, storing configuration information to the computer""s hard drive. In the xe2x80x9cS5xe2x80x9d sleeping state, all system context is lost. In both of these states, power is removed from the computer""s processor and main memory, and only a very small amount of stand-by power is provided to the computer""s wake circuitry. Awaking from both the xe2x80x9cS4xe2x80x9d and the xe2x80x9cS5xe2x80x9d sleeping states requires the computer to undergo a full booting process.
The ACPI Specification does not allow the operating system to wake the computer from either the xe2x80x9cS4xe2x80x9d or xe2x80x9cS5xe2x80x9d state. As a result, the Microsoft Windows 98 operating system was designed to disable all wake events other than those generated by a xe2x80x9cSleepxe2x80x9d button or power switch on the computer""s front panel when the computer is in the xe2x80x9cS4xe2x80x9d or xe2x80x9cS5xe2x80x9d state. The ACPI Specification does not preclude responding to xe2x80x9cS4xe2x80x9d or xe2x80x9cS5xe2x80x9d wake events from other hardware components in the computer, such as signals received from other computers through a modem or network interface card (NIC), but the Windows 98 operating system does not accommodate other hardware-driven wake events.
Based on the foregoing, there is a need for systems and techniques that allow events to wake a computer system from a sleeping state. Moreover, because such systems and techniques may not be needed by all users, there is a need to be able to disable the systems and techniques that allow events to wake a computer system from a sleeping state.